package com.ljm.sys.dict.api;

import com.ljm.common.dto.UserInfoDto;
import com.ljm.common.page.PageDto;
import com.ljm.sys.dict.dto.SysDictDto;
import com.ljm.sys.org.dto.SysOrgUserDto;

/**
 * <p>
    * 系统字典 接口
    * </p>
 *
 * @author HuamingChen
 * @since 2019-02-14
 */
public interface SysDictApi {
    /**
     * 保存字典
     * @param dto 字典
     * @param userDto 用户信息
     * @ 异常
     */
    void save(SysDictDto dto, UserInfoDto userDto);

    /**
     * 分页获取字典
     * @param dictKey 字典key
     * @param dictValue 字典值
     * @param pageNo 开始页
     * @param pageSize 页大小
     * @return 分页数据
     * @ 异常
     */
    PageDto<SysDictDto> getByPage(String dictKey, String dictValue,
                                  int pageNo, int pageSize);

    /**
     * 获取数据
     * @param id 主键
     * @return 字典数据
     * @ 异常
     */
    SysDictDto getDataById(Long id);

    /**
     * 删除字典
     * @param id 主键
     * @ 异常
     */
    void del(Long id);
}
